package br.com.datatraffic.fiscal.entidades;

// Generated 10/07/2009 10:49:54 by Hibernate Tools 3.2.0.b9

import java.util.ArrayList;
import java.util.List;

import javax.persistence.Column;
import javax.persistence.Entity;
import javax.persistence.FetchType;
import javax.persistence.GeneratedValue;
import javax.persistence.GenerationType;
import javax.persistence.Id;
import javax.persistence.JoinColumn;
import javax.persistence.ManyToOne;
import javax.persistence.OneToMany;
import javax.persistence.SequenceGenerator;
import javax.persistence.Table;

/**
 * Usuario generated by hbm2java
 */
@Entity
@Table(name = "TBUSUARIO")
public class Usuario5 implements java.io.Serializable {

	private Long id;

	private UnidadeFiscal unidadeFiscal;
	private String login;
	private String matricula;
	private String nome;
	private String cargo;
	private String email;
	private String senha;
	private List<MensagemAdHoc> mensagemAdHocs = new ArrayList<MensagemAdHoc>(0);
	private List<PermissaoOperador> permissaoOperadors = new ArrayList<PermissaoOperador>(0);
	private List<Participante> participantes = new ArrayList<Participante>(0);

	public Usuario5() {
	}

	public Usuario5(Long id) {
		this.id = id;
	}

	public Usuario5(Long id, UnidadeFiscal unidadeFiscal, String login, String nome, String senha) {
		this.id = id;
		this.unidadeFiscal = unidadeFiscal;
		this.login = login;
		this.nome = nome;
		this.senha = senha;
	}

	public Usuario5(Long id, UnidadeFiscal unidadeFiscal, String login, String matricula, String nome, String cargo,
			String email, String senha, List<MensagemAdHoc> mensagemAdHocs, List<PermissaoOperador> permissaoOperadors,
			List<Participante> participantes) {
		this.id = id;

		this.unidadeFiscal = unidadeFiscal;
		this.login = login;
		this.matricula = matricula;
		this.nome = nome;
		this.cargo = cargo;
		this.email = email;
		this.senha = senha;
		this.mensagemAdHocs = mensagemAdHocs;
		this.permissaoOperadors = permissaoOperadors;
		this.participantes = participantes;
	}

	@Id
	@GeneratedValue
	@Column(name = "USUARIO_ID", unique = true, nullable = false, precision = 38, scale = 0)
	public Long getId() {
		return this.id;
	}

	public void setId(Long id) {
		this.id = id;
	}

	@ManyToOne(fetch = FetchType.LAZY)
	@JoinColumn(name = "UNIDADE_FISCAL_ID", nullable = false)
	public UnidadeFiscal getUnidadeFiscal() {
		return this.unidadeFiscal;
	}

	public void setUnidadeFiscal(UnidadeFiscal unidadeFiscal) {
		this.unidadeFiscal = unidadeFiscal;
	}

	@Column(name = "LOGIN", nullable = false, length = 50)
	public String getLogin() {
		return this.login;
	}

	public void setLogin(String login) {
		this.login = login;
	}

	@Column(name = "MATRICULA", length = 100)
	public String getMatricula() {
		return this.matricula;
	}

	public void setMatricula(String matricula) {
		this.matricula = matricula;
	}

	@Column(name = "NOME", nullable = false, length = 100)
	public String getNome() {
		return this.nome;
	}

	public void setNome(String nome) {
		this.nome = nome;
	}

	@Column(name = "CARGO", length = 50)
	public String getCargo() {
		return this.cargo;
	}

	public void setCargo(String cargo) {
		this.cargo = cargo;
	}

	@Column(name = "EMAIL", length = 100)
	public String getEmail() {
		return this.email;
	}

	public void setEmail(String email) {
		this.email = email;
	}

	@Column(name = "SENHA", nullable = false, length = 100)
	public String getSenha() {
		return this.senha;
	}

	public void setSenha(String senha) {
		this.senha = senha;
	}

	@OneToMany(fetch = FetchType.LAZY, mappedBy = "usuario")
	public List<MensagemAdHoc> getMensagemAdHocs() {
		return this.mensagemAdHocs;
	}

	public void setMensagemAdHocs(List<MensagemAdHoc> mensagemAdHocs) {
		this.mensagemAdHocs = mensagemAdHocs;
	}

	@OneToMany(fetch = FetchType.LAZY, mappedBy = "usuario")
	public List<PermissaoOperador> getPermissaoOperadors() {
		return this.permissaoOperadors;
	}

	public void setPermissaoOperadors(List<PermissaoOperador> permissaoOperadors) {
		this.permissaoOperadors = permissaoOperadors;
	}

	@OneToMany(fetch = FetchType.LAZY, mappedBy = "usuario")
	public List<Participante> getParticipantes() {
		return this.participantes;
	}

	public void setParticipantes(List<Participante> participantes) {
		this.participantes = participantes;
	}

	// The following is extra code specified in the hbm.xml files
	private static final long serialVersionUID = 1L;
	// end of extra code specified in the hbm.xml files

}
